﻿using System;
using System.Collections.ObjectModel;

namespace PrearrangedChaos.AgileZen.Service.Model
{
    public interface IStory : IStoryUpdater, IModel
    {
        StoryColor Color { get; set; }
        IUser Creator { get; }
        DateTime? Deadline { get; set; }
        IUser Owner { get; set; }
        IPhase Phase { get; set; }
        string Priority { get; set; }
        IProject Project { get; }
        string Size { get; set; }
        StoryStatus Status { get; set; }
        string Text { get; set; }
        ReadOnlyCollection<IComment> Comments { get; }
        string Details { get; set; }
        IStoryMetrics Metrics { get; }
        ReadOnlyCollection<IMilestone> Milestones { get; }
        ReadOnlyCollection<IStep> Steps { get; }
        ReadOnlyCollection<ITag> Tags { get; }
        ReadOnlyCollection<ITask> Tasks { get; }
        string BlockedReason { get; set; }
    }
}